Dynamic location almanac for wireless base stations

ABSTRACT

A system and method of dynamically updating an almanac of base stations with wireless phones that are controlled by end users. First, second, and third location information are received respectfully from a first, second, and third wireless phones. A position of each wireless device is known. The distance between each wireless device an uncooperative base station is determined while accounting for an uncertainty factor. A location of the uncooperative base station is calculated using the first, second, and third location information and the distances. The almanac is updated with the location.

REFERENCES TO RELATED APPLICATIONS

This application is related to copending U.S. patent application Ser. No. 10/936,130, filed Sep. 7, 2004, U.S. patent application Ser. No. 10/971,591, filed Oct. 21, 2004, and copending U.S. patent application Ser. No. 10/877,205, filed Jun. 25, 2004, which is a nonprovisional of U.S. patent application Ser. No. 60/483,094, filed Jun. 27, 2003.

BACKGROUND

This disclosure relates in general to location systems and, more specifically, but not by way of limitation, to updating a location almanac.

There is an ever growing desire to know geographic position of various mobile devices. For example, cellular phone operators are trying to comply with requirements to locate handsets for emergency purposes. Once position is known, emergency personnel can be dispatched to aid in resolving the emergency. Knowing geographic location serves many other purposes, such as geographic-tied advertising, child supervision, automated parolee supervision, reverse 911, fleet vehicle tracking, or the like.

Almanacs are often available for a group of cellular base stations for a particular cellular phone provider. The almanac indicates where the cellular base stations are located for the particular cellular phone provider. With this information, ranging to these cellular base stations allows determining a position of the mobile device. Unfortunately, the almanacs can be poorly maintained and even contain inaccurate locations for the cellular base stations. Inaccurate almanacs can result in inaccuracies in determining the geographic position of the mobile phone.

SUMMARY

A method and system are disclosed that allow for dynamically updating an almanac of base stations with wireless phones controlled by end users. As the wireless phones travel, they gather location information on various base stations. By knowing a location of a wireless phone and determining a distance to a base station in at least three instances, the position of the base station can be trilaterated. The almanac stores the various locations and distances used to determine the position. With every new measurement to a base station, the position may be further refined. Some embodiments weight the measurements by an uncertainty factor related to the accuracy of the mobile device and base station used to make a distance measurement.

The disclosure includes different ways to determine the position of the base station. Some wireless phones are capable of determining their location, while others rely upon the larger system to determine location. In any event, location is determined somewhere. When coupled with a distance measurement between the location and the base station, this information can be coupled with other data points in a determination of the position of the base station.

The disclosure also includes ways to weight the location information gathered by various wireless phones. Newer readings are weighted to have priority over older readings under the presumption that any movement of the base station would make the older readings less accurate. Also, the accuracy of the measurement is used in weighting the various readings. Spurious readings are filtered out of the process so that the almanac is not affected by a spurious or erroneous reading. Where a spurious reading indicates a base station has moved, old measurements are purged and do not affect future location calculations.

BRIEF DESCRIPTION OF THE DRAWINGS

Like reference numerals may be used to denote like or similar parts or features. Further, various components of the same type may be distinguished by following the reference number by a dash and a second number that distinguishes among the similar components. If only the first reference number is used in the specification, the description is applicable to any one of the similar components having the same first reference number irrespective of the second reference number.

FIGS. 1A and 1B are block diagrams of embodiments of a dynamic almanac system.

FIG. 2 is a block diagram of an embodiment of a portion of the dynamic almanac system.

FIG. 3 is a block diagram of another embodiment of a portion of the dynamic almanac system.

FIG. 4 is a block diagram of yet another embodiment of a portion of the dynamic almanac system.

FIG. 5 is a flow diagram of an embodiment of a process for dynamically updating a base station almanac.

FIG. 6 is a flow diagram of another embodiment of a process for dynamically updating a base station almanac.

DETAILED DESCRIPTION

Referring first to FIG. 1A, a block diagram of an embodiment of a dynamic almanac system 100 is shown. The dynamic almanac system 100 allows wireless devices 120 to find their geographic location by using satellites 140 (e.g., GLONASS, GPS, Galileo) and/or base stations 112,124 (e.g., cellular phone base station, a wireless local area network, a wireless wide area network, satellite phone, satellite Internet, or any other wireless phone that can be recognized by the wireless device 120). Once the location of the wireless device 120 is known, the wireless device 120 can gather location information on the base stations 112,124 and forward that location information to cooperative base stations 112. Cooperative base stations 112 are coupled to an almanac processor 112 by way of a wide area network (WAN) 110. The almanac processor 112 accesses a device capability database 140 before analyzing the location information. Once analyzed, a base station database or almanac 144 is updated according to the estimated location of the base station 112,124.

The wireless device 120 can communicate with any number of base stations 112,124 to provide location information. In this embodiment, the wireless device 120 is a cellular phone that may have any number of communication modes (e.g., GSM, CDMA, digital AM or FM radio, digital TV, TDMA, WCDMA, OFDM, GPRS, EV-DO, WiFi, Bluetooth, WiMAX, UWB, satellite phone or data, etc.) to transfer voice and/or data with cellular, satellite and/or mesh networks by way of their base stations 112,124. The wireless device 120 in other embodiments could be a tracking device, a child or parolee monitor, navigational device, wireless pager, wireless computer, etc. The supported communication modes for each wireless device are stored in the device capability database 140 that includes information to help in determining an uncertainty factor for each location or distance measurement made by a particular wireless device 120.

This embodiment shows cooperative base stations 112, uncooperative base stations 124 and a satellite location beacon 140 that could each have different communication modes. For example, a cellular base station 112,124 might support TDMA and GSM, a satellite base station might support only CDMA, or another satellite base station might support only GSM. Typically, a wireless device 120 would support a subset of the various communication modes.

Base stations 112, 124 are defined herein to allow some sort of data or voice transport. Base stations 112, 124 are often affiliated with some entity such that only subscribers or subscribers to another system with a roaming agreement can communicate with the base station 112, 124 to pass data and/or voice traffic. A cooperative base station 112 is one that allows data and/or voice with the wireless device 120. Uncooperative base stations 124 may not allow data and/or voice traffic, but do provide information useful in determining their location. Uncooperative base stations 124 provide some type of identifier and can often be used for ranging, which is a process where the distance between the base station 124 and the wireless device 120. The identifier in the case of a WiFi base station 124, for example, includes a station identifier and MAC address. Uncooperative base stations 124 are any wireless device that is typically stationary, provides information to uniquely identify the base station, and can be used to determine some measure of distance to a wireless device 120.

The almanac processor determines the locations of the base stations 112,124 in this embodiment. The device capability database 140 is to interpret the data provided by wireless devices 120 and the results and raw data are stored in the base station database 144. With less than three measurements by wireless devices 120, the accuracy of the base station position is limited. With the first measurement, the accuracy can be limited to the communication range of such a base station 112,124 using a particular communication mode. With the second measurement, the accuracy can be further limited. Three measurements allow a trilateration of the location to whatever accuracy the wireless devices can provide. Over three measurements allow further improving the location estimation.

In some cases, uncooperative base stations 124 move too frequently to be useful. For example, some trains are equipped with WiFi access points and mobile phones can have Bluetooth access. Some embodiments will not add certain models of uncooperative base stations to the almanac that are believed too portable. Likelihood of mobility can be stored as a factor in the device capability database 140. Those models more likely to move are less likely to be used in the base station database. Other embodiments only add some or all models if it were found that they were not moving. Before allowing a particular uncooperative base station to be added to any almanac, the almanac processor 122 could wait until a number of measurements were taken that indicated the same location.

The base station database 144 stores the identifier information that can be used to uniquely identify each base station in that class of base stations. For example, each WiFi base station could include a MAC address as identifier information. Characteristics of the base station 112,124 could be used in uniquely identifying the base station 112,124. For example, if two base stations had the same station identifier, but only one supported a particular communication standard, the two could be uniquely identified. Also stored in stored in the base station database 144 is location information that is determined for each base station 112, 124 by performing surveys of the area with the wireless devices. This location information could include a position formulated from data gathered on three or more occasions or could include the data itself for use in refining or recalculating the position.

In one embodiment, wireless devices 120 can be used to determine the location of each base station 112, 124, thereafter the location is reported back to the almanac processor 112. The location information from various wireless devices 120 for each base station 112, 124 is aggregated by the almanac processor 112 to update the base station database 144 in a dynamic manner. As more location data points are gathered for a particular base station 112,124, they are weighted according to the accuracy of the wireless device 120 and used to resolve the location of that particular base station 112,124 with ever increasing accuracy. The accuracy of each wireless device 120 is stored in the device capability database 140, which could have different accuracies for the various ways that a wireless device 120 could gather the information. Any uncertainty that the wireless device 120 could have in knowing its location could also be reflected in the accuracy weighting for the location information in the base station database 144.

Various types of location beacons could be used by the wireless device 120 to aid in the location determination. This embodiment uses a satellite location beacon 140, but terrestrial ones could be used (e.g., LORAN). The more location references, generally, the better the location of the wireless device can be determined.

The accuracies of the location of the wireless device 120 and the ranging measurement is stored in the base station database 144 such that these uncertainty factors can be used in the base station location determination to estimate an accuracy. In one embodiment, it is presumed that older measurements to a base station 112,124 are less accurate than newer measurements. This presumption arises because some base stations 112,124 are easily moved. The uncertainty factor for a given reading is increased over time to deemphasize older readings in favor of newer readings.

In some embodiments, spurious location readings for a base station 112,124 may be ignored or cause older readings to be reconsidered in various situations. Where a base station appears to have traveled an unusual distance since the last reading, the almanac processor 122 may either take the position that the reading is erroneous or that the base station 112,124 has moved. In one example, a fresh reading of a particular base station indicates that it is located more than 5 miles from its previous location. Since the maximum range of this particular base station is 1 mile, it is presumed that the base station has moved and the old readings are purged. When a reading is within the maximum range, but far different from the other readings, the almanac processor may wait for confirmation by another wireless device 120 before purging old location readings.

This embodiment shows the almanac processor 122 separate from the cooperative base stations 112, but each cooperative base station 112 could have an almanac processor 112 in other embodiments. The almanac processor 122 could be implemented with a computer or network of computers either in a single location or distributed across a number of locations. The base station database 144 could be centrally located, but other embodiments could distribute this database 144 regionally or in portions relevant to each cooperative base station 112. For example, a first base station 112-1, may store a portion of the base station database 114 for its footprint and all adjacent base station footprints.

Referring to FIG. 1B, another embodiment of the dynamic almanac system 150 is shown. In some embodiments, the base station database 144 is centrally located, but the base station database 144 is distributed regionally or in portions relevant to each cooperative base station 112 as a local almanac 158 in the embodiment. For example, a first base station 112-1, may store a portion of the base station database 114 for its footprint and all adjacent base station footprints in a first local almanac 158-1. As the various local almanacs 158 are updated, those changes are propagated to the centrally-located base station database 144.

This embodiment does not use a location beacon 140, but has one or more communication satellites base stations 154 for use in voice and/or data communication. This embodiment of the communication satellite base station 154 could, but does not, have a local almanac 158. The communication satellite base station 154 relies upon the almanac processor 122 to produce tailored almanacs.

With reference to FIG. 2, a block diagram of an embodiment of a portion 200 of the dynamic almanac system 100 that locates a base station 112,124 is shown. This embodiment shows three wireless devices 120-1,120-2,120-3 within range of an uncooperative base station 124 and a cooperative base station 112. Each of the three wireless devices 120-1,120-2,120-3 is able to fix their location using a number of satellite position beacons 140, but other embodiments could use other methods in determining their location. Each of the three wireless devices 120 determines their location and distance to the uncooperative base station 124. These measurements need not be at the same time and could be days or weeks apart.

After a wireless device 120 takes the measurement, the information is forwarded to the associated base station 112 for relay to the almanac processor 122. The information sent by each wireless device includes information to uniquely identify the base station 112,124, a location of the wireless device 120, a distance between the wireless device 120 and the base station 112,124. Some embodiments of the wireless device 120 may rely upon others to determine its location such that the wireless device 120 only need to identify itself and the location can be otherwise derived.

In one embodiment, the wireless device 120 doesn't determine a distance, but provides information to the associated base station 112 to allow others to make that determination. For example, the wireless device 120 may send a signal to the unassociated base station 124 who replies with the signal strength of the received signal. That signal strength can be used to determine distance given the communication mode and configuration of the wireless device 120.

Referring next to FIG. 3, a block diagram of another embodiment of a portion 300 of the dynamic almanac system 100 that locates base stations 112,124 is shown. In this embodiment, two wireless devices 120-1,120-2 determine a location of an uncooperative base station 124. On two separate occasions, the second wireless device 120-2 takes measurements to the base station 124. These measurements could be minutes or days apart. The measurements are communicated to a cooperative base station 112. In this embodiment, the wireless devices 120 do not independently determine their location, but rely upon measurements from the cooperative base stations 112.

With reference to FIG. 4, a block diagram of yet another embodiment of a portion 400 of the dynamic almanac system 100 having multiple wireless devices 120 gathering almanac information. In this embodiment, six wireless devices 120 are traveling through a number of base stations 112,124 taking location measurements. The wireless devices 120 in this embodiment are end-user equipment that is sold or leased to the end-user. The measurements could be taken when the wireless device has available resources so as to not interfere with the normal operation expected by the user. The wireless devices 120 in this embodiment determine their location by taking measurements to base stations 112,124 and referencing an almanac that has location information for those base stations 112,124.

Referring next to FIG. 5, a flow diagram of an embodiment of a process 500 for dynamically updating a base station almanac is shown. In this embodiment, the wireless device 120 relies upon the system 100 to determine its location. The depicted portion of the process 500 begins in step 504 where the location of the mobile device 120 is determined. This determination could be performed after the wireless device 120 reports a base station measurements or the system 100 could have persistent knowledge of the location of wireless devices 120.

In step 508, the nearby base stations 112,124 are investigated to determine if they can provide distance information. This could be in the form of any measurement that could be correlated to a location, however loose that correlation. With one or more measurements, location could be determined even if no ranging information were available by knowing the range of communication. With more and better measurements, the error in the location determination can be reduced.

The base station information and the distance information gathered by the wireless device 120 is forwarded to a cooperative base station 112 in step 512. The wireless device 120 could send the information immediately, periodically, when queried or during periods of relative inactivity. In this embodiment, the base station information and the distance information are forwarded to the cooperative base station 112, but other embodiments could process the information before sending. The base station information includes any information that could be used to identify the manufacturer and model of the base station 112,124. The model information includes the type of the communication mode supported by the base station. The distance information could be a derived distance or any measurement that could allow calculating a distance. For example, signal strength of a signal received from the base station 112,124 could be used.

The cooperative base station 112 may or may not process the information from the wireless device 112 in various embodiments. In step 516, any processed or unprocessed information is forwarded from the cooperative base station 112 to the almanac processor 112 using a wide area network 110 of some sort. A unique identifier may be determined for the base station 112,124 where that identifier provided by the base station is not unique in and of itself. The almanac processor 122 also queries the device capability database 140 to get information on the base station 112,124 and wireless device 120. This information from the two databases is used to determine a location of the base station 112,124 and any accuracy to assign to that location determination.

In step 528, the location of the base station 112,124 is recalculated with the new information along with an uncertainty factor. The uncertainty factor takes into account the accuracy of measurements with the base station 112,124 and the accuracy of measurements with the mobile device. The device capability database 140 has information on various devices to calculate the uncertainty factor.

In some embodiments, the uncertainty factor increases with the age of the distance measurement. Increasing the uncertainty factor favors more recent readings that would more accurately track any movement of a base station that can be easily moved. Knowing the manufacturer and model of the base station 112,124 can help know if or how to age the uncertainty factor. The more difficult to move the base station 112,124, the slower the uncertainty in the factor would increase. For example, where the base station 112,124 is in a moving vehicle, the uncertainty factor would increase quickly. A permanently installed cell tower would have its uncertainty factor age much more slowly. In an alternative embodiment, the uncertainty factor does not age with time.

Checks are performed in step 530 on the distance calculation to determine if the new information is consistent enough with prior readings. Some base stations 112,124 can be moved such that trilateration with distance readings before and after the move will produce inaccurate results. In this step, the distance between the prior determined location and the mobile device location are calculated. Where the currently measured distance is within some reasonable percentage beyond what the calculated distance and uncertainty factor would allow, it is presumed that the base station 112,124 has remained stationary.

Where the base station 112,124 is unmoved, processing continues to step 540 where the location of the base station 112,124 is calculated or recalculated. The almanac processor 122 queries the base station database 144 for any prior distance and uncertainty factor information for the unique identifier of the base station 112,124 in step 520. All prior readings are weighted by their uncertainty factor when determining location. Where the uncertainty factor ages, the processing gives preference to more recent distance readings when determining the location of the base station 112,124. The base station database 144 is updated in step 532 with the new location and any distance readings. Any almanacs provided after that point are formulated with the new location determination. Some embodiments may wait for two or three non-spurious distance measurements before calculating the location and skip step 540 until that point. The number of non-spurious distance measurements can be a function of an uncertainty factor. In other embodiments one or more new non-spurious distance measurements can be used to update the base station location.

Where it is determined in step 530 that the measured distance reading is beyond some reasonable threshold percentage from the calculated distance and the uncertainty factor, processing goes from step 530 to step 536. In step 536, old distance readings are purged where it is determined that the base station 112,124 has moved. Some embodiments may require two or more spurious readings that confirm movement before purging old distances. The number of spurious readings can be a function of an uncertainty factor. Movement can be physical relocation of the base station 112,124 or non-physical whereby the base station identifier can be (re)assigned to a different base station, for example.

With reference to FIG. 6, a flow diagram of another embodiment of a process 600 for dynamically updating a base station almanac is shown. In this embodiment, the mobile device 120 is capable of determining its location independently. The location determination is performed in step 604. The nearby base stations 112,124 are investigated in step 508. In step 612, base station information, location of the wireless device 120 and the distance between the wireless device 120 and base station 112,124 are forwarded to a cooperative base station 112.

In step 616, the information from the wireless device 120 is analyzed locally and/or forwarded to the almanac processor 122 for analysis. In one embodiment, a cursory check of the information is performed by the cooperative base station 112 to confirm the reading is not spurious. After passing the cursory check, the information is passed to the almanac processor 122. In succession, steps 524, 528, 530, 520, 536, 540, and 532 are performed as in FIG. 5 to complete this portion of the process.

Although the invention has been described and illustrated with a certain degree of particularity, it should be understood that the present disclosure has been made by way of example only, and that numerous changes in the combination and arrangement of parts may be resorted to without departing from the spirit and scope of the invention, as hereinafter claimed. 

1. A dynamic almanac system that updates locations with information from end-user wireless devices, comprising: a first wireless device in a first position for gathering first location information related to an uncooperative base station; a second wireless device in a second position for gathering second location information related to the uncooperative base station; a third wireless device in a third position for gathering third location information related to the uncooperative base station; and an almanac processor that: calculates a location of the uncooperative base station using the first, second, and third location information and the first, second, and third positions, assigns a location uncertainty factor to the location, and updates an almanac with the location, wherein one of the first, second, and third wireless devices is controlled by an end user, and the uncooperative base station would not normally allow data or voice transport of at least one of the first, second, and third wireless devices.
 2. The dynamic almanac system of claim 1 wherein at least two of the first, second, and third wireless devices is the same wireless device in two different locations.
 3. The dynamic almanac system of claim 1 further comprising determining that the uncooperative base station has moved.
 4. The dynamic almanac system of claim 1 wherein at least two of the first, second, and third wireless devices is the same wireless device at two different times.
 5. The dynamic almanac system of claim 1 wherein the almanac processor is co-located with a cooperative base station in communication with at least one of the first, second, and third wireless devices.
 6. The dynamic almanac of claim 1 further comprising a cooperative base station in communication with at least two of the almanac processor and the first, second, and third wireless devices.
 7. The dynamic almanac of claim 1 wherein at least one of the wireless devices is at least one of a tracking device, a child or parolee monitor, a navigational device, a wireless pager, and a wireless computer.
 8. The dynamic almanac system of claim 1 wherein the first, second, and third positions are geographically separate.
 9. A method for dynamically updating an almanac of base stations with a plurality of wireless devices that are controlled by end users, comprising: receiving first location information from a first wireless device of the plurality of wireless devices; retrieving a first position of the first wireless device; determining a first distance between the first position and an uncooperative base station; receiving second location information from a second wireless device of the plurality of wireless devices; retrieving a second position of the second wireless device; determining a second distance between the second position and the uncooperative base station; receiving third location information from a third wireless device of the plurality of wireless devices; retrieving a third position of the third wireless device; determining a third distance between the third position and the uncooperative base station; assigning an uncertainty factor to at least one of the first, second, and third distances; calculating a location of the uncooperative base station using the first, second, and third location information and the first, second, and third distances; and updating the almanac with the location.
 10. The method of claim 9 wherein said calculating comprises weighting at least one of the first, second, and third distances with the uncertainty factor.
 11. The method of claim 9 wherein the uncertainty factor is aged with time to become more uncertain.
 12. The method of claim 9, further comprising: ascertaining if a wireless device indicates the uncooperative base station to be outside a predetermined threshold from the location; purging old location information from the almanac based upon said ascertaining; and storing new location information.
 13. The method of claim 9 further comprising: ascertaining if a wireless device indicates the uncooperative base station is away from the location and within a predetermined threshold of variance from the location; waiting for confirmation from another wireless device; and storing new location information and purging the old location information if said ascertaining is confirmed during said waiting.
 14. The method of claim 9 wherein at least one of the wireless devices includes at least one of a tracking device, a child or parolee monitor, a navigational device, a wireless pager, and a wireless computer.
 15. The method of claim 9 wherein the uncooperative base station does not normally allow data or voice transport of at least one of the first, second, and third wireless devices.
 16. A method for dynamically updating an almanac of base stations with wireless phones, comprising: locating first, second, and third positions respectively of first, second, and third wireless phones; estimating first, second, and third distances respectively between the first, second, and third wireless phones and an uncooperative base station that does not allow data and voice transport of at least one of the first, second, and third wireless phones; reporting to a point away from the first wireless phones first, second, and third location information that is respectively related to the first, second, and third distances; determining a location of the uncooperative base station from the first, second, and third location information and the first, second, and third distances; updating the almanac using the location; wherein at least one of the first, second, and third wireless phones is carried by an end user during said locating.
 17. The method of claim 16 further comprising assigning an uncertainty factor to each of the first, second, and third distances.
 18. The method of claim 16 wherein the first location information comprises information to derive a unique identifier for the uncooperative base station.
 19. The method of claim 16 wherein at least one of said assigning an uncertainty factor to each of the first, second, and third distances; three reportings comprise reporting to a cooperative base station.
 20. The of claim 16 wherein at least one of said estimatings and said locating is performed away from the wireless phone.
 21. The method of claim 16 wherein at least one of said estimating distances is performed by a wireless phone.
 22. The method of claim 16 wherein said determining a location is performed by a wireless phone.
 23. The method of claim 16 wherein each of said estimating distances comprises: receiving information that can be used to create a unique identifier for a base station; and presuming a distance to the base station based upon at least one of: a response delay, a signal strength, and a signal range.
 24. The method of claim 16 wherein the location is adjusted over time with new location information from wireless phones.
 25. The method of claim 16 wherein older location information in the almanac is deemphasized over time.
 26. The method of claim 16 wherein at least one of the first, second, and third wireless phones is owned by an end user.
 27. The method of claim 16 wherein the uncooperative base station is a local area network base station.
 28. The method of claim 16 wherein the uncooperative base station is a cellular phone base station for another service provider not under a roaming agreement.
 29. The of claim 16 further comprising: determining a likelihood the uncooperative base station will move from the location; and preventing the location from being used in the almanac.
 30. A computer-readable medium having computer-executable instructions for performing the computer-implementable of claim
 17. 31. A dynamic almanac system that updates an almanac of base stations with information from a plurality of wireless phones that are controlled by end users, comprising: means for receiving first location information from a first wireless phone of the plurality of wireless phones; means for retrieving a first position of the first wireless phone; means for determining a first distance between the first position and an uncooperative base station; means for receiving second location information from a second wireless phone of the plurality of wireless phones; means for retrieving a second position of the second wireless phone; means for determining a second distance between the second position and the uncooperative base station; means for receiving third location information from a third wireless phone of the plurality of wireless phones; means for retrieving a third position of the third wireless phone, wherein at least one of the first, second, and third wireless phones is under control of an end user; means for determining a third distance between the third position and the uncooperative base station; means for calculating a location of the uncooperative base station using the first, second, and third location information and the first, second, and third distances; means for assigning a location uncertainty factor to the location that is related to the first, second, and third wireless phones; and means for updating the almanac with the location.
 32. The dynamic almanac system of claim 31 wherein the wireless phone cannot use the uncooperative base station to transport data or voice. 